// import com.alibaba.druid.sql.ast.SQLObject;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.Collections;
// import java.util.std::shared_pre<std::list;
#pragma once
#include <string>
#include <list>
#include "SQLNumericLiteralExpr.h"
#include "SQLValuableExpr.h"

class SQLObject;

class SQLBigIntExpr :public SQLNumericLiteralExpr ,virtual public SQLValuableExpr {
  public:
    long value;

    SQLBigIntExpr() ;

    SQLBigIntExpr(long value) ;

    SQLBigIntExpr(string_ptr  value) ;
  SHAREDOBJECT(SQLBigIntExpr);

    virtual SQLObject_ptr clone() ;

    //@Override
    SQLObject_list_ptr  getChildren() ;

    //@Override
    double getNumber() ;

    //@Override
    long getValue() ;

    void setValue(long value) ;

    void accept0(SQLASTVisitor_ptr visitor) ;

    //@Override
    int hashCode() ;

    //@Override
    bool equals(Object_ptr obj) ;

    //@Override
    void setNumber(double number) ;
};
